package com.cskaoyan.catmall.dao;

import com.cskaoyan.catmall.bean.CouponData;
import com.cskaoyan.catmall.bean.UserCouponData;
import com.cskaoyan.catmall.bean.UserOrderDetail;
import com.cskaoyan.catmall.model.vo.WxCouponListVo;
import com.cskaoyan.catmall.model.vo.WxCouponMyListVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WxCouponMapper {
    List<WxCouponMyListVo.ListDTO> selectUserCoupon(@Param("status") Integer status, @Param("userId") Integer userId);

    void updateUserCouponTime(@Param("idList") List<Integer> idList);

    List<Integer> selectUserUpdateCoupon(Integer userId);

    List<WxCouponListVo.ListDTO> selectAllCoupon();

    CouponData selectCouponById(Integer couponId);

    int selectCountCouponByCouponId(Integer couponId);

    int selectCountCountByUserIdAndCouponId(@Param("couponId") Integer couponId, @Param("userId") int userId);

    void insertCouponUser(@Param("couponData") CouponData couponData, @Param("userId") int userId);

    CouponData selectCouponByCode(String code);

    Double selectUserAccountByUserId(Integer userId);

    List<Integer> selectUpdateCoupon();

    void updateCoupon(@Param("idCouponList") List<Integer> idCouponList);

    Double selectCouponAmountById(Integer id);


    List<UserCouponData> selectUserCouponList(Integer userId);

    List<UserOrderDetail> selectUserCart(Integer userId);

}
